運算子庫:硬體平台
此運算子代表 CXP 雙通道攝影機與VisualApplets 之間的 影像資料介面。
| 適用於硬體平台 |
|---|
| mE5 marathon VCX-QP |
| mE5 ironman VQ8-CXP6D |
| mE5 ironman VQ8-CXP6B |
該運算子在其輸出 O 上提供影像資料。此輸出始終存在。
除了這個標準輸出埠之外,您 若因設計需求而需要,亦可指定各種可選埠。
在 運算子實例化過程中,會出現以下彈出對話方塊:

在此處,您可以指定 透過 CXP 纜線連接的通用輸入與輸出之選用埠,以及與攝影機之間 的選用觸發埠。
您可以設定 特定 GPI(通用輸入)、特定 GPO(通用輸出)、 觸發輸入埠以及觸發輸出埠的可用性。
若將埠可用性設定為「0」 (預設值),該埠將不會出現在操作員介面中。若將埠 可用性設定為 1,該埠即會在操作員介面中顯示為可用。
該運算子使用 2 個類型為 CameraPort 的資源。

![]() |
修改圖片寬度與 高度 |
|---|---|
|
您可以將寬度和高度調整為 相機專用的設定。不過,操作員埠 O 上的最大影像寬度 上的最大影像寬度必須能被該埠 O 的並行度 。 請確保最大影像寬度能被埠 O 的平行度整除! |
![]() |
價值在於Parallelism |
|---|---|
|
埠 O 的並行度必須設定 至少達到最小值(如參數 MinimalParallelism 所指定)。 不允許設定 更低的並行度值。最小並行度是由VisualApplets 根據您為此運算子的其他參數所定義的值計算得出的。如此一來, 傳入資料便能始終被接收。 |
![]() |
虛擬像素 |
|---|---|
|
輸出資料中可能會包含虛擬像素。 這是因為運算子可能會將平行度轉換兩次。首先, 運算子會內部將平行度轉換為其計算出的最小平行度,並將其 作為唯讀值提供給參數 MinimalParallelism 中作為唯讀值提供。這會導致內部 影像寬度可被MinimalParallelism整除, 且可能因平行度轉換而增加虛擬值。 其次, 運算子會將並行度轉換為O。Parallelism , 若第一次並行度轉換所產生的墊充後影像寬度 並非 O 的倍數,則可能會新增更多虛擬值。Parallelism 。因此,輸出資料是否包含 虛擬像素,取決於 MinimalParallelism 參數、影像寬度以及O。Parallelism 。每次 並行度轉換都可能新增虛擬像素。這些額外的虛擬像素包含 未定義的資料值,並導致影像寬度偏離實際影像 寬度。 範例:若 MinimalParallelism為 12, O.Parallelism為 32,且傳輸的影像 寬度為 128 像素,則運算子會根據 MinimalParallelism 參數中定義的內部並行度 12,在內部建立寬度為 132 的影像行, 這是因為在 MinimalParallelism參數中定義的內部平行度為 12。在輸出時, 資料向量會轉換為平行度 32 (O.Parallelism ),從而導致影像行 寬度為 160 像素。 由於存在虛像點,預期輸出影像的寬度為:
|
![]() |
Bit Width 以及格式類型 |
|---|---|
|
埠 O(影像埠)的位元寬度 取決於所選的格式類型(參數 FormatType):
|
| Property | Value |
|---|---|
| Operator Type | M |
| Input Links | - TriggerI(可選), 由影像擷取卡透過 CXP 通道傳送至相機的觸發訊號。 此連接埠
通常用於觸發線掃描相機。 - GPIx(可選),由幀擷取卡透過 CXP 通道傳送至攝影機的通用輸入 [x]。可用的包括 GPI0、 GPI1、GPI2、GPI3、GPI4、GPI5、GPI6 及 GPI7。 |
| 輸出連結 | - O,影像資料輸出 - TriggerO(可選),由相機透過 CXP 通道傳送至影像擷取卡的觸發訊號。 - GPOx(可選),由相機透過 CXP 通道傳送至影像擷取卡的通用輸出 [x]。可用的選項包括 GPO0、 GPO1、GPO2、GPO3、GPO4、GPO5、GPO6 及 GPO7。 |
| 相機識別碼 | |
|---|---|
| Type | 靜態寫入參數 |
| Default | |
| Range | {-1, 0, 1, 2, 3} |
|
該 CameraID 參數用於向攝影機操作者的韌體定義 CXP 主站埠 ID, 以便進行自動 CXP 拓撲發現(攝影機至小程式以及 小程式至攝影機)。 透過此參數,您可 直接在此操作員中指定 ID。不過,我們建議您在 「資源」對話方塊中指定該操作員的資源。(要開啟「資源」 對話方塊,只需選取相機操作員,然後從「設計」選單中選擇 「資源」選單項目即可。) CameraID 參數將根據 「資源」對話方塊中的參數,自動更新為正確的主埠。以下範例 使用一台單鏡頭攝影機和一台雙鏡頭攝影機: ![]()
![]() module3(單鏡頭)的 CameraID(CXP 主埠 ID) 為 2。module5(雙鏡頭)的 CameraID(CXP 主埠 ID) 為 1。 雙鏡頭相機需要 2 個 CXP 相機 連接埠。(四鏡頭相機則需要 4 個連接埠。)僅主連接埠會反映在 操作員的 CameraID 參數中。 當您定義的 CameraPort 資源數量超過上限(上限為 4)時,例如當您實例化 5 個 個「CXPSingleCamera」操作員時,最後一個請求 CameraPort 資源的攝影機操作員(此時所有四個可用資源均已被佔用),會將其 CameraID 設定為 -1。在此情況下,設計規則檢查會回報錯誤。 參數 CameraID 位於 {-1,0,1,2,3} 範圍內。 |
|
| MinimalParallelism | |
|---|---|
| Type | 靜態讀取參數 |
| Default | 12 |
| Range | [1 : 512] |
|
一個唯讀參數,用於指定 輸出鏈路 O 的最低並行度,該並行度仍能傳輸 相機的最大頻寬,且不會造成資料遺失。最低並行度將 自動計算。 該數值取決於 您在FormatMode 參數中選取的像素格式。 若將參數 FormatMode定義為動態 參數(請參閱下文對參數FormatMode 的說明),系統將計算可能發生的最小並行度。 最低程度的並行化可能會導致 產生虛擬像素,因為運算子可能會將並行化 轉換兩次,並在此過程中加入虛擬值。由於這些虛擬像素的存在, 預期輸出影像的寬度為:
|
|
| Status | |
|---|---|
| Type | 動態讀取參數 |
| Default | |
| Range | {0; 2^7-1} |
|
該 Status 參數是一個執行時期的唯讀參數,用以反映 攝影機操作員的當前狀態。位元[0] 表示偵測到 CXP 流封包遺失。 位元[1] 表示 CXP 資料流封包中偵測到單位元組錯誤。位元[2] 表示 CXP 資料流封包中偵測到多位元組錯誤。位元[3..6] 保留。 此參數在未來版本中可能會有所變更。 |
|
| 格式類型 | |
|---|---|
| Type | 靜態寫入參數 |
| Default | GRAY |
| Range | 灰階、RGB、RGBA、RAW |
|
在此處,您可以選擇要接收哪種 像素格式(依據 CXP 規格定義)。您在此處 選取的值,將決定在參數 FormatMode 中可選用的像素格式。因此,此 參數的設定會直接影響參數FormatMode。 請參閱下方關於參數FormatMode 的說明。 |
|
| 格式模式 | |
|---|---|
| Type | 靜態或動態(使用者定義)寫入參數 |
| Default | Mono8 |
| Range | {Mono8、Mono10、Mono12、Mono14、Mono16、BayerGR8、BayerGR10、BayerGR12、 BayerGR14、BayerGR16、BayerRG8、BayerRG10、BayerRG12、BayerRG14、BayerRG16、 BayerGB8、BayerGB10、BayerGB12、BayerGB14、BayerGB16、BayerBG8、BayerBG10、 BayerBG12、BayerBG14、BayerBG16、RGB8、RGB10、RGB12、RGB14、RGB16、RGBA8、RGBA10、 RGBA12、RGBA14、RGBA16、Raw} |
|
此參數提供所有屬於您在 「FormatType」參數中選定的格式類型的 像素格式 (依 CXP 規格定義)。 ![]() 您在此處可選取的像素格式 取決於參數FormatType 的設定。 因此,您所能選用的始終僅限於預設值範圍內的選項。 若要取得另一組像素格式, 請變更FormatType 參數的設定。請參閱 上文有關FormatType參數的說明。 具體而言, 參數FormatType的以下設定,會在參數FormatMode 中提供以下 像素格式: FormatType == GRAY: {Mono8, Mono10, Mono12, Mono14, Mono16, BayerGR8, BayerGR10, BayerGR12, BayerGR14, BayerGR16, BayerRG8, BayerRG10, BayerRG12, BayerRG14, BayerRG16, BayerGB8, BayerGB10, BayerGB12, BayerGB14, BayerGB16, BayerBG8, BayerBG10, BayerBG12, BayerBG14, BayerBG16} FormatType == RGB: {RGB8, RGB10, RGB12, RGB14, RGB16} FormatType == RGBA: {RGBA8, RGBA10, RGBA12, RGBA14, RGBA16} FormatType == RAW: {Raw} Pixel format Raw has a fix bit width of 32Bit. The data are interpreted as received. 您可以決定是否要將此 參數設為動態參數或靜態參數。請在「參數 類型」欄位中進行選擇: ![]() |
|
| TxTriggerPacketMode | |
|---|---|
| Type | dynamic write parameter |
| Default | CxpStandard |
| Range | {CxpStandard, RisingEdgeOnly} |
|
透過參數 TxTriggerPacketMode,您可以提升 連接影像擷取卡與攝影機的 CXP 纜線的 頻寬。此 頻寬的提升,是透過對攝影機觸發 訊號的解讀進行微幅調整而實現的。 請注意,此功能僅可 與支援此功能的特定相機搭配使用。如需詳細資訊,請 聯絡您當地的經銷商或Basler 技術支援部門。 參數 TxTriggerPacketMode可取兩種值 (CxpStandard、RisingEdgeOnly):
|
|
| TxTriggerEventCount | |
|---|---|
| Type | 動態讀取參數 |
| Default | 0 |
| Range | {0;2^20-1} |
|
該 TxTriggerEventCount 參數表示已傳送至攝影機的 觸發邊緣事件的數量。 |
|
| TxTriggerAcknowledgementCount | |
|---|---|
| Type | 動態讀取參數 |
| Default | 0 |
| Range | {0;2^20-1} |
|
該 TxTriggerAcknowledgementCount 參數表示 攝影機所傳送的觸發確認封包(作為對先前傳送的 觸發邊沿封包的回應)中有多少已由影像擷取卡接收。 |
|
| TxTriggerWaveformViolation | |
|---|---|
| Type | 動態讀取參數 |
| Default | 0 |
| Range | {0,1} |
|
若操作員偵測到 TriggerI 埠上兩個觸發邊沿之間的距離 違反了最低邊沿頻率,則由相機 操作員將此參數設定為 1。在所有 microEnable 5 平台上, 最低邊沿頻率為 550 ns(奈秒)。 該參數會保留其 數值,直到被讀取為止。讀取後,該參數會更新數值。 頻率控制會持續運行,且不受該參數 讀取狀態的影響。 |
|
以下範例示範了如何使用 CXPDualCamera 運算子:
-
「CoaXPress 面陣掃描相機 (CoaXPress Area Scan Cameras)」
範例 — 基本取得
-
「兩台雙線 CoaXPress 面掃描相機的基本影像擷取範例」
範例 — 基本取得
-
「CoaXPress 線形掃描相機 (CoaXPress Line Scan Cameras)」
範例 — 基本取得
-
範例 — 基本取得

![[重要]](../common/images/admon/important.png)





上一頁

